package com.hzw.saas.api.product.dto;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 产品许可业务对象
 *
 * @author zzl
 * @since 04/07/2021
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "产品许可信息")
public class LicenseProductBO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "产品许可ID")
    private String licenseId;
    @ApiModelProperty(value = "产品ID")
    private String productId;
    @ApiModelProperty(value = "产品图标")
    private String iconName;
    @ApiModelProperty(value = "会员等级ID")
    private String levelId;
    @ApiModelProperty(value = "产品名称")
    private String productName;
    @ApiModelProperty(value = "产品版本号")
    private String productVersion;
    @ApiModelProperty(value = "许可有效期，单位：月")
    private Integer validPeriod;
    @ApiModelProperty(value = "允许使用的最大CPU核数")
    private Integer maxCpuCore;
    @ApiModelProperty(value = "允许使用的最大内存单位G")
    private Integer maxMemory;
    @ApiModelProperty(value = "授权控制, 1-GUI界面，2-本地计算，4-远程计算; 数字可以组合, 比如3表示GUI+本地计算")
    private Integer parallelModel;
    @ApiModelProperty(value = "授权控制文本")
    private String parallelModelText;
    @ApiModelProperty(value = "产品类型， 0-单机, 1-一体机, 2-局域网hpc, 3-超算中心")
    private Integer productType;
    @ApiModelProperty(value = "是否超算用户， 0-不是, 1-是")
    private Integer hpcUser;
    @ApiModelProperty(value = "选择类, 0-必选，1-可选")
    private Integer optionalType;
    @ApiModelProperty(value = "保留参数1, 0-企业版 、1-学校版、2-学院版、3-课题组版、4-试用版，5-超算中心版，6-服务版")
    private Integer reservedInfo1;
    @ApiModelProperty(value = "保留参数2")
    private String reservedInfo2;
    @ApiModelProperty(value = "保留参数3")
    private String reservedInfo3;
}
